ArcGis图层表中如何计算面积、长度和其他几何属性?
点击上方蓝字可加关注
微信号:ArcGisdada
互助、共享、学习
“计算几何”工具可以访问图层的要素几何。根据输入图层的几何,此工具可以计算坐标值、长度和面积。仅当对所使用的坐标系进行了投影时,才能计算要素的面积、长度或周长。请牢记,不同投影具有不同的空间属性和变形。如果数据源和数据框的坐标系不同,那么使用数据框坐标系所计算的几何结果就可能与使用数据源坐标系所计算的几何结果不同。建议在计算面积时使用等积投影。
如图44.3-1,所示为计算几何时选择的为数据框坐标系还是数据源坐标系。重点是红框中的单位调整。
图44.3-1:
如果要计算 Xmin、Xmax、Ymin 或 Ymax,您可以配合使用Python 和字段计算器。
例1:计算某要素的面积。
Parser:
Python
Expression:
!shape.area!
例2:计算某要素的最大 X 坐标。(计算Y坐标同理)
Parser:
Python
Expression:
!shape.extent.XMax!
例3:计算某要素中的折点数。
Parser:
Python
Expression:
MySub(!shape!)
Code Block:
def MySub(feat):
partnum = 0
# Count the numberof points in the current multipart feature
partcount =feat.partCount
pntcount = 0
# Enter while loopfor each part in the feature (if a singlepart feature
# this will occuronly once)
#
while partnum <partcount:
part =feat.getPart(partnum)
pnt = part.next()
# Enter whileloop for each vertex
#
while pnt:
pntcount += 1
pnt =part.next()
# If pnt isnull, either the part is finished or there is an
# interior ring
#
if not pnt:
pnt =part.next()
partnum += 1
return pntcount
例4:将点要素类中每个点的 x 坐标平移 100。
Parser:
Python
Expression:
shiftXCoordinate(!SHAPE!)
Code Block:
defshiftXCoordinate(shape):
shiftValue = 100
point = shape.getPart(0)
point.X += shiftValue
return point
可使用计算几何对话框更新shapefile 要素的面积、长度或周长,因为这些属性无法在编辑shapefile 要素时自动更新。
仅当要素含有 z 值时,才能计算 z 坐标值或 3D 测量值。无论选择何种坐标系,都可以计算 Z 坐标值和 3D 测量值。只要为图层定义了垂直坐标系,列出的 z 和 3D 计算结果的单位就为平面单位(如英里、米等)。如果没有为数据定义垂直坐标系,则单位将被列为未知。
步骤:(参照前一篇的进行简单字段计算(点击蓝字可跳转))
1. 启动编辑会话。即使您未处于编辑会话中,也可以进行计算;但在这种情况下无法撤消计算结果。
2. 右键单击图层,然后单击打开属性表。
只能对属性表执行几何计算。
3. 右键单击要计算的字段标题,然后单击计算几何。
或者,也可以按 CTRL+SHIFT+G打开计算几何对话框。
4. 单击要计算的几何属性。
根据所使用的图层类型,可用的属性会有所不同。
5. 单击“使用数据源的坐标系”或“使用数据框的坐标系”。
6. 单击输出计算结果的单位。
★提示:
如果向文本字段输入计算结果,可选择将单位缩写添加到计算结果中。例如,47.5673 sq m 就是通过计算向文本字段中输入的添加了单位缩写的面积输出结果的示例。
7. 或者,如果已在表中选择记录,也可以选择将计算应用于所有记录还是仅应用于所选记录。
8. 单击确定。
★警告:
在编辑会话之外进行字段计算时无法撤消计算结果。
★提示:
要在编辑会话之外计算值而不出现警告消息,可选中消息中的不再向我发出警告复选框。可在 ArcMap 选项对话框的表选项卡中重新启用此警告消息。
★注:
计算几何对话框遵从编辑选项对话框的常规选项卡所指定的小数位数(默认情况下为三位)。要更改此设置,单击“编辑器”工具条上的编辑器菜单,然后
7、ArcGis中.shp和.kml数据导入导出Google Earth操作流程
11、ArcGis中已知经纬度坐标转任意坐标系(以点和80坐标系为讲解模板)